0%

Meta Skill——Core

Basic Concepts–>Framework–>Practice–>Skills–>Habits–>Destiny

Deep Thinking

  • Control your Brain
  • Keep your Health
  • Placate your Soul
  • Consolidate your Base
  • Master your Rhythm
  • Live your Life
  • Fight for your Dream

Do according to your ability
Do everything in your power

Skills

Turn abstraction into concrete
Break up the whole into parts
Master the basic Concepts
Lay a solid foundation
Enrich one’s arsenal of weapons

Hardware: CPU\Memory\IO\Modem\Network
Software: binary, instruction, data,
Program:
data structure
algorithm
language: c,java,python
os: windows, linux
platform: arena, android
basic data type: bit,byte,char,short,int,long,float, double…
typedef structure, object …
operator: arithmetic, logic, shift
function, new,static…
sequence, cycle, branch
design pattern: architecture

text: charset, font, string...
image: svg,png, jpeg, webp, gif...
file:io,nio
multithread/process...
database:sql, noSql
network:client/server,http,tcp/ip
multimedia, color

View: CPU,Memory,Compiler,Programmer,User

设计模式之六大原则

一.单一职责原则
单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。

二.开闭原则
开闭原则(Open-Closed Principle, OCP):一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。

三.里氏替换原则
里氏代换原则(Liskov Substitution Principle, LSP):所有引用基类(父类)的地方必须能透明地使用其子类的对象。

四.依赖倒置原则
依赖倒转原则(Dependency Inversion Principle, DIP):抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程。

五.接口隔离原则
接口隔离原则(Interface Segregation Principle, ISP):使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。

六.迪米特法则
迪米特法则(Law of Demeter, LoD):一个软件实体应当尽可能少地与其他实体发生相互作用。

SVG

可缩放矢量图形(英语:Scalable Vector Graphics,SVG)是一种基于可扩展标记语言(XML),用于描述二维矢量图形的图形格式。SVG由W3C制定,是一个开放标准。

.svg格式相对于.jpg、.png甚至.webp具有较多优势,我认为核心有两点:

  • 省时间。图像与分辨率无关,收放自如,适配安卓机坑爹的分辨率真是一劳永逸;
  • 省空间。体积小,一般复杂图像也能在数KB搞定,图标更不在话下。

矢量图的优点一大把,但也不是万能的。矢量图特别适合icon图标的应用场景,但是不能用于比如加载相册时,设置的placeholder或者error这类需要频繁切换回收的应用场景,否则会造成非常明显的卡顿,因为矢量图是不被硬件加速支持的。

Font

字体风格、大小、格式相同而字形不同的字符的集合。电子计算机应用中,将字符转换为数字信号,存储在电子计算机或相关的存储器中,称为字库。

Java IO/NIO

学Java的都会接触到IO,传统的IO是基于字节流和字符流的,数据只能单向传输,JDK1.5引入了NIO,主要包含三个核心概念,Selector,Buffer和Channel。NIO中数据都是通过缓冲区来操作,缓冲区中数据可以移动,可以通过buffer.flip()来改变读写模式,比如调用channel.read(buffer)从文件中写入数据到buffer,之后调用buffer.flip(),再调用Buffer.get()就可以读取buffer里的数据。
NIO另一个非常重要的特点就是支持非阻塞操作,传统的IO的read和write只能阻塞执行,线程在读写IO期间不能干其他事情,比如调用socket.read()时,如果服务器一直没有数据传输过来,线程就一直阻塞,NIO中可以配置socket为非阻塞模式

Java NIO:浅析I/O模型
Java NIO:NIO概述
Java NIO 基本概念

IQ & EQ

  • EQ base on IQ
  • Basic Concepts are the base of IQ
  • Experience improves IQ
  • Deep Thinking sharpens IQ

Basis

  • Computer
  • Program
  • Health
  • Family
  • Life

Basic Concepts Top10

一个人是否聪明,可以从两个层面入手:

  1. 看他脑子里有多少清晰、准确、必要的概念
  2. 看他脑子里那些清晰、准确、必要的概念之间,有多少清晰、准确、必要的关联…

1. 财富自由

我们要的是自由,最根本不是财富,财富只是工具,我们要的自由,本质是时间的自主权。

所谓的财富自由,指的是某个人再也不用为了满足生活必需而出售自己的时间了。

不管你获得了怎样的成功,你依然需要成长,财富自由不是终点,那只是通往终点过程中的一个里程碑而已。

2. 注意力

三个大坑:

  • 莫名其妙地凑热闹
  • 心急火燎地随大流
  • 操碎了别人的心肝

注意力是每个人都拥有的、最重要的、却被人忽视了的宝贵财富。
钱不是最重要的,因为它可以再生;时间也不是最重要的,因为它本质上不属于你,你只能试着与它做朋友,让它为你所用。

所以你必须把最宝贵的注意力全部放在你自己身上。

3. 元认知

元认知能力是对自己的思考过程的认知与理解。
元认知能力的强弱,决定一个人每个方面的强弱,甚至可以一点都不夸张地讲:一个人的财富创造能力最终也只与元认知能力有关——其他的都是附属因素。
从最底层的来看,元认知能力起作用的方式事实上极其简单:

哦,我原来(正在)是这么想的……
嗯?我这么想难道是不对的吗?
啊!我应该这么想才对……

看起来太简单了吧?——早晚你会明白的,看起来这么简单的思考,竟然是绝大多数人穷尽一生都没学会的技能,甚至居然都没有想过应该习得、锻炼这种技能。

4. 资本

资本确实主要由钱构成,但,仅仅一堆钱放在哪里肯定算不上是资本。
钱本身顶多可以算作资金,而它想要成为有效的资本,还有需要至少另外三个要素:

  • 资金的金额大小
  • 资金的使用时限
  • 资金背后的智慧

习得的资本背后的运作方法要从各个维度(金额、时限、智慧)逐步循坏突破:

  • 盈亏比例(相对值),而不是本金大小,盈亏金额(绝对值)。其实,投资的重点并不在于盈亏绝对值大小,而是在于盈亏比例大小。
  • 能不能给自己的投资款“判上个无期徒刑”……不能够心平气和地判上个无期徒刑的资金,就别假装资本混迹江湖了……

5. 坚持

若是某件事儿你觉得需要努力、需要坚持才行,那这事儿基本上从一开始就注定做不成了……
需要努力、需要坚持,说明你骨子里不愿意做啊!

无论做什么事情,在开始之前,都要想尽一切办法为这个事情赋予重大的意义,甚至多重重大的意义。

一旦决定做什么事情,是用不着坚持的,用不着努力的,一念一世界,这不是那种苦哈哈的坚持,臭哄哄的努力,这是干脆停不下来啊!
多有意思的事儿啊?谁敢拦着我我就跟谁急!

6. 万能钥匙

当你遇到一扇被锁着的门,你应该去哪里找钥匙?显然不应该是只盯着锁头看。
若是锁孔里插着一把钥匙,那锁头等于是开着的,不是吗?之所以打不开那扇门,就是因为它是被锁上的,而开那个锁所需要的钥匙,一定在别的什么地方啊!
当我们遇到任何问题的时候,也是一样的道理,既然那是个需要被解决的问题,它就好像是个被锁上的锁头,而解决方案就像是钥匙一样,一定不在锁孔里插着,一定是在别的什么地方呢!

所以,当我们尝试解决任何问题的时候,只盯着问题看,盯着问题想,盯着问题找解决方案,通常只能是以无奈告终的啊!

7. 长期

长期很可能对不同的人来说长度是很不一样的,你越弱,你的长期越长…换句话说,你可以通过提高能力缩短长期的长度!
对越有能力的人来说,长期的时限越短,于是,他们在长期过去之后,相对于别人有着更长的自由时限…何止长寿啊!这分明是:
学习使人拥有更高质量的长寿…

你越年轻,就越觉得长期越长…

年轻的时候有太多(事后可能会觉得不必要的)花钱的欲望和需求,这使得那长期感觉上更为难熬——可问题在于,那只是感觉,而不是事实,除非你自己选择把那感觉活成事实。

8. 安全感

你会发现绝大多数人是追求百分之百的安全感的,他们时时刻刻被身边所发生的一切吸引(或者,其实应该称作“分神”),他们不可能在任何事情上深入长期观察、深入长期思考,这样肯定会把自己困在永恒的当下。

我们必须放弃一部分安全感,才能深入长期地观察、思考。

又从另外一个层面上来看,那些放弃了部分安全感的人,有更多的深入长期的思考,他们怎么可能没办法补全主动放弃的那一小部分安全感呢?他们当然有办法,他们不孤立的行动,他们选择与他人合作——或者称之为有效社交。

9. 刚需

成功只不过是某一时刻的状态;成长才更重要,成长才是真正的刚需。

刚需可以主动选择的,而不一定是天然的,一成不变的;更进一步,刚需这东西常常就不应该被动接受。

我们甚至可以不扩张地讲,一切的进步与成长,都是重新选择刚需的过程。

你从来都知道自己最终还是有选择的自由;
你知道要靠耐心活在未来;
你知道现状是积累,你知道对现状不满是无意义的,所有的解脱,最终都只能靠积累。

10. 多维竞争力

所谓的成长,从另外一个角度来看,就是不断把别人比下去的过程。

在某个技能上(或者说某个维度上)死磕,确实是一个策略,也不一定是不好的策略。但,为什么不想想也许有什么别的策略呢?

借用几何术语的话,其实很容易理解:

  • 单个维度上,大家比的是长度;
  • 两个维度上,大家比的是面积;
  • 三个维度上,大家比的是体积…

而实际上生活有很多个维度,每个人都是立体的,不是平面的,更不是一根线。

每次跨界,都是给自己拓展一个新的维度。有跨界的机会绝对要一把抓住。

处处平庸肯定是不行的,不求处处突出,但起码要在一个甚至多个维度上处于 一个相当优异的位置,这样的时候,
多维度的意义就开始几何级数增长。

欢迎关注我的其它发布渠道